package com.ddwl.message.model;

import com.ddwl.schema.model.Location;
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
//import org.springframework.data.mongodb.core.index.GeoSpatialIndexed;
//import org.springframework.data.mongodb.core.mapping.Document;

import java.math.BigDecimal;
import java.time.Instant;
import java.util.List;

/**
 * @author Fu Zhaohui
 * @version 1.0.0
 * @date 2019/8/29 19:32
 */
@Document("sys_sos")
@Setter
@Getter
public class Sos {

    @Id
    private String id;
    /**
     * 用户ID
     */
    private String userId;
    /**
     * 小孩ID
     */
    private String childId;
    /**
     * 设备ID
     */
    private String deviceId;
    /**
     * 内容
     */
    private String content;
    /**
     * 设备Mac地址
     */
    private String mac;
    /**
     * 小孩照片
     */
    private String pic;
    /**
     * 地理位置信息
     */
//    @GeoSpatialIndexed
    private Location loc;

    /**
     * 状态 0已上报 1审核通过 2审核拒绝 3已解决 4已撤销
     */
    private Byte status;
    /**
     * 奖励金额
     */
    private BigDecimal rewardAmount;
    /**
     * 审核时间
     */
    private Instant gmtAudit;
    /**
     * 审核人ID
     */
    private String auditUserId;
    /**
     * 提供线索用户
     */
    private List<Informer> informers;
    /**
     * 删除状态
     */
    private Boolean dflag = false;
    /**
     * 创建时间
     */
    private Instant gmtCreated;
    /**
     * 修改时间
     */
    private Instant gmtModified;

    /**
     * 提供线索人
     */
    @Setter
@Getter
    public class Informer {

        /**
         * 用户ID
         */
        private String userId;
        /**
         * 定位信息
         */
        private Location loc;
        /**
         * 上传图片
         */
        private String pic;

        /**
         * 是否有效
         */
        private Boolean valid = false;
        /**
         * 上传时间
         */
        private Instant gmtUpload;
    }
}
